package org.desktop.diskutils.business.files;

import java.util.Collection;

/**
 * 
 * @author nikolay.grozev
 * 
 */
public interface IFileTreeNode {

	String getName();

	Long getSize();

	int getDepth();

	IFileTree getTree();

	IFileTreeNode getParent();

	Collection<? extends IFileTreeNode> getChildren();
	
	Collection<? extends IFileTreeNode> getDisplayChildren();

	void visitTreeStructure(final ITreeNodeVisitor visitor);

	void visitDisplayedNodes(ITreeNodeVisitor visitor);

	String getCategoryName();

}
